package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc UpdateTipTargetObjPlanExComReqDto
 * @使用场景
 */
@Data
public class UpdateTipTargetObjPlanExComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 指标扩展规划设置ID
   */
  @NotNull(message = "指标扩展规划设置ID不能为空")
  @ApiModelProperty("指标扩展规划设置ID")
  private String objectivePlanningExtendId;

  /**
   * 本级是否向下分工 TRUE:是 FALSE:否
   */
  @NotNull(message = "本级是否向下分工不能为空")
  @ApiModelProperty("本级是否向下分工")
  private String createLowerIndicator;

  /**
   * 目标是否向下分工相同 TRUE:是 FALSE:否
   */
  @NotNull(message = "目标是否向下分工相同不能为空")
  @ApiModelProperty("目标是否向下分工相同")
  private String targetDivisionSame;

  /**
   * 分工内容id
   */
  @NotNull(message = "分工内容id不能为空")
  @ApiModelProperty("分工内容id")
  private String divisionContentId;

  /**
   * 分工内容类型编码 EQUATIVE_DEPT:同级部门 DEPT_TYPE:部门类型 PRESENT_DEPT:当前部门
   */
  @NotNull(message = "分工内容类型编码不能为空")
  @ApiModelProperty("分工内容类型编码")
  private String divisionContType;

  /**
   * 向下分工层级编码 DEPT_END:部门结束 PUISNE_DEPT_END:下属部门结束 DEPT_PUISNE_STAFF_END:部门下属人员结束 PUISNE_DEPT_STAFF_END:下属部门人员结束
   */
  @NotNull(message = "向下分工层级编码不能为空")
  @ApiModelProperty("向下分工层级编码")
  private String encode;

  /**
   * 分工策略描述
   */
  @NotNull(message = "分工策略描述不能为空")
  @ApiModelProperty("分工策略描述")
  private String divisionDesc;

  /**
   * 冗余目标ID
   */
  @NotNull(message = "冗余目标ID不能为空")
  @ApiModelProperty("冗余目标ID")
  private String targetId;

  /**
   * 冗余评价模板ID
   */
  @NotNull(message = "冗余评价模板ID不能为空")
  @ApiModelProperty("冗余评价模板ID")
  private String evaluationTemplateId;

  /**
   * 批次标识
   */
  @NotNull(message = "批次标识不能为空")
  @ApiModelProperty("批次标识")
  private String batchCode;

  /**
   * 批次现状
   */
  @ApiModelProperty("批次现状")
  private String batchCurrentStatus;

  /**
   * 归属对象内容ID
   */
  @NotNull(message = "归属对象内容ID不能为空")
  @ApiModelProperty("归属对象内容ID")
  private String objectId;

  /**
   * 通用数值字段（小数型）
   */
  @NotNull(message = "通用数值字段（小数型）不能为空")
  @ApiModelProperty("通用数值字段（小数型）")
  private Double comFloatField;

}
